OVERVIEW:

These MATLAB programs implement the VIDEO COMPRESSION scheme using parallel compressed sensing proposed in the paper:
	H. Fang, S. A. Vorobyov, H. Jiang, O. Taheri, "Permutation Meets Parallel 
	Compressed Sensing: How to Relax Restricted Isometry Property for 2D 
	Sparse Signals", IEEE Trans. Signal Process., submitted.

Videos used in this code is in YUV format.
They are also available at http://trace.eas.asu.edu/yuv/index.html or
http://trace.kom.aau.dk/yuv/yuv.html.

==========================================
PREREQUISITE:

1. Parallel CS package (../ParallelCS)
	1.1. CVX toolbox (available at http://cvxr.com/cvx/download/).
2. ZIGZAG_PERM (../Tools/ZIGZAG_PERM)
3. ZIGZAG_SCAN (../Tools/ZIGZAG_SCAN)
4. psnr.m (../Tools)
5. YUV package (../Tools/YUV)

==========================================
HOW TO USE THE CODE:

1. Put the video data in the directory ../Videos.
2. Run demo_video_parallel_cs.m 
OR
2. Run	script_demo_parallel_cs_0.m
	script_demo_parallel_cs_1.m
   to get PSNR results under different settings.
	* comment up lines between two "=====" at the begining before running the scripts
3. Run	plot_fig_ref.m 
	plot_fig_nonref.m 
   to get the figures in the paper.

==========================================
FUNCTION LIST:
	../Videos		The video sequences
	./Data			Simulation results
	./Measurements		
		RandomStates.mat	The state of rand and randn function
					To make the the simulation replicable 
	../ParallelCS		Parallel CS package
	../Tools			Tools used in the simulation code
	../Tools/YUV		YUV package
	../Tools/ZIGZAG_PERM	Functions related to zigzag-scan-based permutation
	../Tools/ZIGZAG_TRANS	Functions related to zigzag-scan-based permutation with dimension change
	./
		demo_video_parallel_cs.m	Demo for video compression using parallel CS 
		parallel_cs.m			Parallel CS encoding and decoding
		plot_fig_ref.m			Plot Fig. 8 in the paper
		plot_fig_nonref.m		Plot Fig. 9 in the paper
		script_demo_parallel_cs_0.m	script to run demo_video_parallel_cs for 
						different videos with no permutation
		script_demo_parallel_cs_1.m	script to run demo_video_parallel_cs for 
						different videos with zigzag-scan-based 
						permutation performed on reference frames

==========================================
VERSION:

Version 1.0	06-Apr-2013	Hao Fang
	* Clean up the codes
==========================================
Hao Fang
Dept. of Electrical and Computer Engineering
9107-116 St., University of Alberta
Edmonton, Alberta, T6G 2V4, Canada
Email: hfang2@ualberta.ca

